package com.ruoyi.mf178.mapper;

import java.util.Date;
import java.util.List;

import com.ruoyi.mf178.domain.Mf178Order;
import org.apache.ibatis.annotations.Param;

/**
 * mf178Mapper接口
 *
 * @author ruoyi
 * @date 2025-07-14
 */
public interface Mf178OrderMapper {
    /**
     * 查询mf178
     *
     * @param id mf178主键
     * @return mf178
     */
    public Mf178Order selectMf178OrderById(Long id);

    /**
     * 查询mf178列表
     *
     * @param mf178Order mf178
     * @return mf178集合
     */
    public List<Mf178Order> selectMf178OrderList(Mf178Order mf178Order);

    /**
     * 新增mf178
     *
     * @param mf178Order mf178
     * @return 结果
     */
    public int insertMf178Order(Mf178Order mf178Order);

    /**
     * 修改mf178
     *
     * @param mf178Order mf178
     * @return 结果
     */
    public int updateMf178Order(Mf178Order mf178Order);

    /**
     * 删除mf178
     *
     * @param id mf178主键
     * @return 结果
     */
    public int deleteMf178OrderById(Long id);

    /**
     * 批量删除mf178
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMf178OrderByIds(Long[] ids);

    public Mf178Order selectMf178OrderByExternalOrderNo(String externalOrderNo);

    /**
     * 作废订单对应的卡（改状态）
     *
     * @param id
     * @return
     */
    int updateMf178OrderCardDrop(@Param("id") Long id, @Param("cardDrop") Boolean cardDrop);

    int updateMf178OrderCardStatus(@Param("id") Long id, @Param("cardUsed") Boolean cardUsed,
                                   @Param("cardUsedTime") Date cardUsedTime, @Param("pickUpRemark") String pickUpRemark,
                                   @Param("isCardDrop") Boolean isCardDrop, @Param("usedSuccess") Boolean usedSuccess);

    int setLog(@Param("externalOrderNo")String externalOrderNo,@Param("request")String request,@Param("response") String response);
}
